;#############################
;命令：
;nasm -f elf64 day6_3div_0int.asm -o main.o && gcc main.o -o main -lc -no-pie && ./main
;输出：
;计算结果为72，余数为10。
;#############################
extern printf

section .data
	msg: db `计算结果为%d，余数为%d。\n`, 0

section .text
	global main

main:
	push rbp
	mov rbp, rsp

;#######################################################################################
	;除法
	mov eax, 1234
	mov ebx, 17
	;edx = signbit(eax)
	;Convert Double to Quad
	;The CDQ instruction can be used to produce a quadword dividend
	;from a double-word before doubleword division.
	;这确实是一条指令，无操作数指令
	cdq
	;eax = 1234 / 17
	;edx = 1234 % 17
	idiv rbx
;#######################################################################################

;#######################
	;打印
	mov rdi, msg
	mov rsi, rax
	mov rdx, rdx
	call printf

;#######################

	mov eax, 0
	leave
	ret
